<?php

namespace AdminPanel\DashboardBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * BankAttempt
 *
 * @ORM\Table(name="bank_attempt")
 * @ORM\Entity
 */
class BankAttempt
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="to_url", type="string", length=2000, nullable=false)
     */
    private $toUrl;

    /**
     * @var float
     *
     * @ORM\Column(name="amount", type="float", nullable=false)
     */
    private $amount;

    /**
     * @var integer
     *
     * @ORM\Column(name="status", type="integer", nullable=false)
     */
    private $status;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="created_at", type="datetime", nullable=false)
     */
    private $createdAt;

    /**
     * @var string
     *
     * @ORM\Column(name="created_ip", type="string", length=15, nullable=false)
     */
    private $createdIp;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="updated_at", type="datetime", nullable=true)
     */
    private $updatedAt;

    /**
     * @var string
     *
     * @ORM\Column(name="updated_ip", type="string", length=15, nullable=true)
     */
    private $updatedIp;

    /**
     * @var \User
     *
     * @ORM\ManyToOne(targetEntity="User")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="user_id", referencedColumnName="ID")
     * })
     */
    private $user;

    /**
     * @var \Tutor
     *
     * @ORM\ManyToOne(targetEntity="Tutor")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="tutor_id", referencedColumnName="id")
     * })
     */
    private $tutor;

    /**
     * @var \Bank
     *
     * @ORM\ManyToOne(targetEntity="Bank")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="bank_id", referencedColumnName="id")
     * })
     */
    private $bank;

    /**
     * @var \Invoice
     *
     * @ORM\ManyToOne(targetEntity="Invoice")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="invoice_id", referencedColumnName="ID")
     * })
     */
    private $invoice;



    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set toUrl
     *
     * @param string $toUrl
     * @return BankAttempt
     */
    public function setToUrl($toUrl)
    {
        $this->toUrl = $toUrl;
    
        return $this;
    }

    /**
     * Get toUrl
     *
     * @return string 
     */
    public function getToUrl()
    {
        return $this->toUrl;
    }

    /**
     * Set amount
     *
     * @param float $amount
     * @return BankAttempt
     */
    public function setAmount($amount)
    {
        $this->amount = $amount;
    
        return $this;
    }

    /**
     * Get amount
     *
     * @return float 
     */
    public function getAmount()
    {
        return $this->amount;
    }

    /**
     * Set status
     *
     * @param integer $status
     * @return BankAttempt
     */
    public function setStatus($status)
    {
        $this->status = $status;
    
        return $this;
    }

    /**
     * Get status
     *
     * @return integer 
     */
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return BankAttempt
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;
    
        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime 
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Set createdIp
     *
     * @param string $createdIp
     * @return BankAttempt
     */
    public function setCreatedIp($createdIp)
    {
        $this->createdIp = $createdIp;
    
        return $this;
    }

    /**
     * Get createdIp
     *
     * @return string 
     */
    public function getCreatedIp()
    {
        return $this->createdIp;
    }

    /**
     * Set updatedAt
     *
     * @param \DateTime $updatedAt
     * @return BankAttempt
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;
    
        return $this;
    }

    /**
     * Get updatedAt
     *
     * @return \DateTime 
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

    /**
     * Set updatedIp
     *
     * @param string $updatedIp
     * @return BankAttempt
     */
    public function setUpdatedIp($updatedIp)
    {
        $this->updatedIp = $updatedIp;
    
        return $this;
    }

    /**
     * Get updatedIp
     *
     * @return string 
     */
    public function getUpdatedIp()
    {
        return $this->updatedIp;
    }

    /**
     * Set user
     *
     * @param \AdminPanel\DashboardBundle\Entity\User $user
     * @return BankAttempt
     */
    public function setUser(\AdminPanel\DashboardBundle\Entity\User $user = null)
    {
        $this->user = $user;
    
        return $this;
    }

    /**
     * Get user
     *
     * @return \AdminPanel\DashboardBundle\Entity\User 
     */
    public function getUser()
    {
        return $this->user;
    }

    /**
     * Set tutor
     *
     * @param \AdminPanel\DashboardBundle\Entity\Tutor $tutor
     * @return BankAttempt
     */
    public function setTutor(\AdminPanel\DashboardBundle\Entity\Tutor $tutor = null)
    {
        $this->tutor = $tutor;
    
        return $this;
    }

    /**
     * Get tutor
     *
     * @return \AdminPanel\DashboardBundle\Entity\Tutor 
     */
    public function getTutor()
    {
        return $this->tutor;
    }

    /**
     * Set bank
     *
     * @param \AdminPanel\DashboardBundle\Entity\Bank $bank
     * @return BankAttempt
     */
    public function setBank(\AdminPanel\DashboardBundle\Entity\Bank $bank = null)
    {
        $this->bank = $bank;
    
        return $this;
    }

    /**
     * Get bank
     *
     * @return \AdminPanel\DashboardBundle\Entity\Bank 
     */
    public function getBank()
    {
        return $this->bank;
    }

    /**
     * Set invoice
     *
     * @param \AdminPanel\DashboardBundle\Entity\Invoice $invoice
     * @return BankAttempt
     */
    public function setInvoice(\AdminPanel\DashboardBundle\Entity\Invoice $invoice = null)
    {
        $this->invoice = $invoice;
    
        return $this;
    }

    /**
     * Get invoice
     *
     * @return \AdminPanel\DashboardBundle\Entity\Invoice 
     */
    public function getInvoice()
    {
        return $this->invoice;
    }
}